import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Iterator;


public class ListContainer {
    public static void main(String[] args) {
        //ArrayList 定义和使用
//        ArrayList ll = new ArrayList();
//        ll.add("justin");
//        ll.add(19);
//        ll.add(new Person1());
//        System.out.println(ll);
//
//        //LinkedList定义和使用
//        LinkedList ll2 = new LinkedList();
//        ll2.add("justin");
//        ll2.add(15);
//        ll2.add(new Person1());
//        System.out.println(ll2);


        //***************** ArrayList 常用操作
        LinkedList<String> names = new LinkedList<String>();
        names.add("彭于晏");
        names.add("古天乐");
        names.add("杨颖");
//        names.add(19);  //不能放数字
        names.add("刘亦菲");
        //1  根据索引取值
        String name = names.get(1);
        System.out.println(name);

        // 2 修改某个位置值
        names.set(1,"迪丽热巴");
        System.out.println(names);

        // 3 删除某个值
        names.remove("迪丽热巴");
        names.remove(0);

        // 4 大小
        System.out.println(names.size());
        // 5 是否包含
        System.out.println(names.contains("刘亦菲"));

        // 6 循环
        for (int i = 0; i < names.size(); i++) {
            System.out.println(names.get(i));
        }

        for (String item:names) {
            System.out.println(item);

        }

        // 7  其他操作
        names.push("xxx"); // 放在首位

        names.addFirst("第一");
        names.addLast("倒数第一");
        System.out.println(names);


        Iterator i =names.iterator();
        while (i.hasNext()){
            System.out.println(i.next());
        }


    }


}

class Person1{

}
